<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		
	</head>
	<body>
	<script>
	//es6允许按照一定模式,从数组和对象中提取值对变量进行赋值,这被称为解构赋值	
	//数组的解构赋值，对象的解构赋值，函数的参数解构赋值（默认值）（批量的给变量赋值）
	
	//数组 下标
	var arr=['css','html','js'];
	let a=arr[0]; 
	let b=arr[1];
    let c=arr[2];
console.log(a,b,c);	
   //    arr={
		 //  0:'css',
		 //  1:'js',
		 //  2:'html'
	  // }
	//let [d,e,f]=arr;
	let [d,e,f]=['html','js','css'];
	console.log(d,e,f)	
	//左少右多  
	let [num1,num2]=['x','y','z'];
	console.log(num1,num2);	
	//左多右少  
	let [num3,num4,num5]=[10,20];
	console.log(num3,num4,num5);
	
	function fun([a,b]){
		console.log(a+b);
	}
	fun([1,3]);
	
	function fn(a,b=1){  //函数参数的默认值，有传递的实参就使用实参，没有实参就使用默认值，
	                     //有默认值最好放在右侧
		console.log(a+b);
	}
	fn(2)
	
	//对象的解构赋值
	var email='25256789'
	var obj={
		name:'alpha',
		age:2,
		email
	}
	
	let {age,name}=obj; //键名
	console.log(name,age);
	console.log(obj.email);
	
	var p1=10,p2=20;
	// var temp=p1;
	// p1=p2;
	// p2=temp;
	// console.log(p1,p2);
	
	
	 [p1,p2]=[p2,p1]
	console.log(p1,p2);
	
	
	
	</script>	
	</body>
</html>
